Summary of Printing Resources
C Summary
Constants and Data Types
/* basic client types */ #define gxPrintingManagerType 'pmgr' #define gxPrinterDriverType 'pdvr' #define gxPrintingExtensionType'pext' #define gxAnyPrinterType 'univ' #define gxPortableDocPrinterType 'gxpd' #define gxRasterPrinterType 'rast' #define gxPostscriptPrinterType'post' #define gxVectorPrinterType 'vect' #define gxPrintingTagID (-28672) /* gxTag ID for printing collections */ /* The following constants are for resources used by both extensions and drivers. */ /* base IDs for extension & driver resources */ #define gxPrintingDriverBaseID (-28672) #define gxPrintingExtensionBaseID (-27136) #define gxOverrideType 'over' /* override resource type */ #define gxDriverUniversalOverrideID (gxPrintingDriverBaseID) #define gxDriverImagingOverrideID (gxPrintingDriverBaseID + 1) #define gxDriverCompatibilityOverrideID (gxPrintingDriverBaseID + 2) #define gxExtensionUniversalOverrideID gxPrintingExtensionBaseID #define gxExtensionImagingOverrideSelectorID gxPrintingExtensionBaseID /* The following constants are used to identify printing messages for use in both extensions and drivers. */ /* identifiers for universal message overrides... */ #define gxInitialize 0 #define gxShutDown 1 #define gxJobIdle 2 #define gxJobStatus 3 #define gxPrintingEvent 4 #define gxJobFormatDialog 5 #define gxFormatDialog 6 #define gxJobPrintDialog 7 #define gxFilterPanelEvent 8 #define gxHandlePanelEvent 9 #define gxParsePageRange 10 #define gxDefaultJob 11 #define gxDefaultFormat 12 #define gxDefaultPaperType 13 #define gxDefaultPrinter 14 #define gxCreateSpoolFile 15 #define gxSpoolPage 16 #define gxSpoolData 17 #define gxSpoolResource 18 #define gxCompleteSpoolFile 19 #define gxCountPages 20 #define gxDespoolPage 21 #define gxDespoolData 22 #define gxDespoolResource 23 #define gxCloseSpoolFile 24 #define gxStartJob 25 #define gxFinishJob 26 #define gxStartPage 27 #define gxFinishPage 28 #define gxPrintPage 29 #define gxSetupImageData 30 #define gxImageJob 31 #define gxImageDocument 32 #define gxImagePage 33 #define gxRenderPage 34 #define gxCreateImageFile 35 #define gxOpenConnection 36 #define gxCloseConnection 37 #define gxStartSendPage 38 #define gxFinishSendPage 39 #define gxWriteData 40 #define gxBufferData 41 #define gxDumpBuffer 42 #define gxFreeBuffer 43 #define gxCheckStatus 44 #define getDeviceStatus 45 #define gxFetchTaggedData 46 #define gxGetDTPMenuList 47 #define gxDTPMenuSelect 48 #define gxDTPHandleAlertFilter 49 #define gxJobFormatModeQuery 50 #define gxWriteStatusToDTPWindow 51 #define gxInitializeStatusAlert 52 #define gxHandleAlertStatus 53 #define gxHandleAlertEvent 54 #define gxCleanupStartJob 55 #define gxCleanupStartPage 56 #define gxCleanupOpenConnection 57 #define gxCleanupStartSendPage 58 #define gxDefaultDesktopPrinter 59 #define gxCaptureOutputDevice 60 #define gxOpenConnectionRetry 61 #define gxExamineSpoolFile 62 #define gxFinishSendPlane 63 #define gxDoesPaperFit 64 #define gxChooserMessage 65 #define gxFindPrinterProfile 66 #define gxFindFormatProfile 67 #define gxSetPrinterProfile 68 #define gxSetFormatProfile 69 /* identifiers for Macintosh Printing Manager message overrides */ #define gxPrOpenDoc 0 #define gxPrCloseDoc 1 #define gxPrOpenPage 2 #define gxPrClosePage 3 #define gxPrintDefault 4 #define gxPrStlDialog 5 #define gxPrJobDialog 6 #define gxPrStlInit 7 #define gxPrJobInit 8 #define gxPrDlgMain 9 #define gxPrValidate 10 #define gxPrJobMerge 11 #define gxPrGeneral 12 #define gxConvertPrintRecordTo 13 #define gxConvertPrintRecordFrom 14 #define gxPrintRecordToJob 15 /* identifiers for raster imaging message overrides */ #define gxRasterDataIn 0 #define gxRasterLineFeed 1 #define gxRasterPackageBitmap 2 /* identifiers for PostScript imaging message overrides */ #define gxPostscriptQueryPrinter 0 #define gxPostscriptInitializePrinter 1 #define gxPostscriptResetPrinter 2 #define gxPostscriptExitServer 3 #define gxPostscriptGetStatusText 4 #define gxPostscriptGetPrinterText 5 #define gxPostscriptScanStatusText 6 #define gxPostscriptScanPrinterText 7 #define gxPostscriptGetDocumentProcSetList 8 #define gxPostscriptDownloadProcSetList 9 #define gxPostscriptGetPrinterGlyphsInformation 10 #define gxPostscriptStreamFont 11 #define gxPostscriptDoDocumentHeader 12 #define gxPostscriptDoDocumentSetUp 13 #define gxPostscriptDoDocumentTrailer 14 #define gxPostscriptDoPageSetUp 15 #define gxPostscriptSelectPaperType 16 #define gxPostscriptDoPageTrailer 17 #define gxPostscriptEjectPage 18 #define gxPostscriptProcessShape 19 /* identifiers for vector imaging message overrides */ #define gxVectorPackageData 0 #define gxVectorLoadPens 1 #define gxVectorVectorizeShape 2 /* identifiers for status message types */ */ enum { */ gxNonFatalError = 1, /* effects icon on spooling dialog */ gxFatalError = 2, /* sends up printng alert on spooling dialog */ gxPrinterReady = 3, /* signals QuickDraw GX to leave alert mode */ gxUserAttention = 4, /* signals initiation of a modal alert */ gxUserAlert = 5, /* signals initiation of a moveable modal alert */ gxPageTransmission = 6, /* signals page sent to printer, increments page count in strings to user */ gxOpenConnectionStatus = 7,/* signals QuickDraw GX to begin animation on printer icon */ gxInformationalStatus = 8, /* default status type, no side effects */ gxSpoolingPageStatus = 9, /* signals page spooled, increments page count in spooling dialog */ gxEndStatus = 10, /* signals end of spooling */ gxPercentageStatus = 11 /* signals the QuickDraw GX as to the amount of the job that is currently complete */ }; /* The following resource types and IDs are used by extensions. */ #define gxExtensionScopeType 'scop' #define gxDriverScopeID gxPrintingExtensionBaseID #define gxPrinterScopeID gxPrintingExtensionBaseID+1 #define gxPrinterExceptionScopeID gxPrintingExtensionBaseID+2 #define gxExtensionLoadType'load' #define gxExtensionLoadID gxPrintingExtensionBaseID #define gxExtensionLoadFirst 0x00000100 #define gxExtensionLoadAnywhere0x7FFFFFFF #define gxExtensionLoadLast 0xFFFFFF00 #define gxExtensionOptimizationType'eopt' #define gxExtensionOptimizationID gxPrintingExtensionBaseID /* extension optimization values*/ #define gxExecuteDuringImaging TRUE #define gxNeedDeviceStatus TRUE #define gxChangePageAtGXDespoolPage TRUE #define gxChangePageAtGXImagePage TRUE #define gxChangePageAtGXRenderPage TRUE #define serverPresenceRequired FALSE #define clientPresenceRequired FALSE #define dontexecuteDuringImaging FALSE #define dontneedDeviceStatus FALSE #define dontchangePageAtDespoolPage FALSE #define dontchangePageAtImagePage FALSE #define dontchangePageAtRenderPage FALSE #define notServerPresenceRequired FALSE #define notClientPresenceRequired FALSE /* The following resource types and IDs are used by writers of printer drivers. */ /* imaging Resources */ #define gxImagingSystemSelectorType'isys' #define gxImagingSystemSelectorID(gxPrintingDriverBaseID) /* raster rendering preferences resources */ #define gxRasterPrefsType 'rdip' #define gxRasterPrefsID gxPrintingDriverBaseID /* resource type for specifiying a color set*/ #define gxColorSetResType 'crst' /* resource type and ID for raster generic driver packaging preferences */ #define gxRasterPackType 'rpck' #define gxRasterPackID gxPrintingDriverBaseID /* resource type and ID for raster generic driver packaging options */ #define gxRasterNumNone 0 /* number isn't output at all */ #define gxRasterNumDirect 1 /* lowest minWidth bytes as data */ #define gxRasterNumToASCII 2 /* minWidth ASCII characters */ #define gxRasterPackOptionsType'ropt' #define gxRasterPackOptionsID gxPrintingDriverBaseID /* resource type for the PostScript procedure set control resource */ #define gxPostscriptProcSetControlType 'prec' /* resource type for the PostScript printer gxFont resource */ #define gxPostscriptPrinterFontType 'pfnt' /* resource type and id for the PostScript imaging preferences */ #define gxPostscriptPrefsType 'pdip' #define gxPostscriptPrefsID gxPrintingDriverBaseID /* resource type and id for the PostScript default scanning code */ #define gxPostscriptScanningType 'scan' #define gxPostscriptScanningID0 /* resource for type for color matching */ #define gxColorMatchingDataType 'prof' #define gxColorMatchingDataID gxPrintingDriverBaseID /* resource type and id for the default bin and paper specifications */ #define gxTrayCountDataType 'tray' #define gxTrayCountDataID gxPrintingDriverBaseID /* The following resource types and IDs are used to define input and output parameters for printer drivers. */ /* resource type and ID for default IO and buffering resources */ #define gxUniveralIOPrefsType 'iobm' #define gxUniversalIOPrefsID gxPrintingDriverBaseID /* resource defines for default implementation of */ /* GXCaptureOutputDevice, which only handles PAP devices */ #define gxCaptureType 'cpts' #define gxCaptureStringID (gxPrintingDriverBaseID) #define gxReleaseStringID (gxPrintingDriverBaseID + 1) #define gxUncapturedAppleTalkType(gxPrintingDriverBaseID + 2) #define gxCapturedAppleTalkType (gxPrintingDriverBaseID + 3) /* resource type and ID for driver papertypes in individual files */ #define gxSignatureType 'sig ' #define gxPapertypeSignatureID 0 /* file type for driver papertypes placed in individual files */ #define gxDrvrPaperType 'drpt' /* The following resource types and IDs are used to support Macintosh Printing Manager compatibility. */ #define gxCustType 'cust' #define gxCustID -8192 #define gxReslType 'resl' #define gxReslID -8192 #define gxDiscreteResolution 0 #define gxStlDialogResID -8192 #define gxJobDialogResID -8191The Buffering and I/O Preferences Structure
struct gxIoPrefsRec { unsigned long communicationsOptions; /* options for input & output */ unsigned long numBuffers; /* number of buffers to allocate */ unsigned long bufferSize; /* number of bytes per buffer */ unsigned long numReqBlocks; /* number of I/O request blocks */ unsigned long openCloseTimeout; /* timeout for open and close */ unsigned long readWriteTimeout /* timeout for read and write */ }; typedef struct gxIOPrefsRec gxIOPrefsRec, *gxIOPrefsPtr, **gxIOPrefsHdl;The Customization Structure
struct gxCustomizationRec { short horizontalResolution; /* horizontal resolution */ short verticalResolution; /* vertical resolution */ short upDriverType; /* type of Macintosh Printing Manager interface to use */ Point patternStretch; /* pattern stretching factor */ short translatorSettings /* settings for translator */ }; typedef struct gxCustomizationRec gxCustomizationRec, *gxCustomizationPtr, **gxCustomizationHdl;The Resolution Structure
struct gxResolutionRec { short rangeType; /* always 1 */ short xMinimumResolution; short xMaximumResolution; short yMinimumResolution; short yMaximumResolution; short resolutionCount; Point resolutions[1]; /* array of points */ }; typedef struct gxResolutionRec gxResolutionRec, *gxResolutionPtr, **gxResolutionHdl;Raster Preferences Structure
struct gxRasterPrefsRec { gxRasterRenderOptions renderOptions; /* raster imaging options */ Fixed hImageRes; /* horiz imaging resolution */ Fixed vImageRes; /* vert imaging resolution */ short minBandSize; /* minimum band size to use */ short maxBandSize; /* maximum band size to use */ Fixed ramPercentage; /* maximum percentage of RAM to use */ long ramSlop; /* minimum RAM to leave free */ short depth; /* depth, in pixels, per plane*/ short numPlanes; /* number of planes to render */ gxPlaneSetupRec planeSetup[1]; /* one for each plane */ }; typedef struct gxRasterPrefsRec gxRasterPrefsRec, *gxRasterPrefsPtr, **gxRasterPrefsHdl;Raster Render Options
typedef long gxRasterRenderOptions; enum { gxDefaultRaster = 0x00000000, /* default options */ gxDontResolveTransferModes = 0x00000001, /* 0 means resolve, 1 means don't */ gxRenderInReverse = 0x00000002, /* traverse in reverse */ gxOnePlaneAtATime = 0x00000004, /* render each separately */ gxSendAllBands = 0x00000008 /* send all bands, even if empty */ };Raster Package Structure
struct gxRasterPackageRec { Ptr bufferSize; /* buffer size of packaging */ short colorPasses; /* number of color passes */ short headHeight; /* height of print head in pixels */ short numberPasses; /* number of passes per head height */ short passOffset; /* offset between passes, in pixels */ gxRasterPackgeOptions packageOptions;/* packaging options */ }; typedef struct gxRasterPackageRec gxRasterPackageRec, *gxRasterPackagePtr, **gxRasterPackageHdl;Raster Package Options
enum { /* bit fields in gxRasterPackageOptions */ gxSendAllColors = 0x00000001, /* send all bands, even if empty */ gxInterlaceColor = 0x00000002, /* ribbon contamination */ gxOverlayColor = 0x00000004, /* no ribbon problem */ gxUseColor = (gxInterlaceColor|gxOverlayColor); }; typedef long gxRasterPackageOptions;Raster Package Controls Structure
struct gxRasterPackageControlsRec { short startPageStringID; /* ID of string to send at start of page */ short formFeedStringID; /* ID of string to send for form feed */ short forwardMax; /* maximum amount of forward line feed */ gxStandardNumberRec forwardLineFeed; /* number struct to express line feed */ short reverseMax; /* maximum amount of reverse line feed */ gxStandardNumberRec reverseLineFeed; /* number struct to express reverse line feed */ }; typedef struct gxRasterPackageControlsRec gxRasterPackageControlsRec, *gxRasterPackageControlsPtr, **gxRasterPackageControlsHdl;Standard Number Structure
struct gxStandardNumberRec { short numberType; /* type of numeric output desired */ short minWidth; /* minimum output width of number */ char padChar; /* pad character */ char alignment; Str31 startString; /* the prefix string */ Str31 endString; /* the postfix string */ }; typedef struct gxStandardNumberRec gxStandardNumberRec, *gxStandardNumberPtr;
Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help